Android Okhttp的简单使用


流行的Rxjava+retrofit+okhttp的MVP架构,怎么不凑凑热闹。
这里备份一下自己对okhttp的浅薄理解。

  • Android4.4的源码中可以看到HttpURLConnection已经替换成OkHttp实现。
  • OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。
  • 如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。
  • OkHttp还处理了代理服务器问题和SSL握手失败问题。
  • 链式调用,函数式调用。
  • OkHttp支持Android 2.3及其以上版本。
  • 对于Java, JDK1.7以上。
  • 响应缓存使用HTTP头作为配置。你可以在请求头中添加Cache-Control: max-stale=3600 ,OkHttp缓存会支持。你的服务通过响应头确定响应缓存多长时间,例如使用Cache-Control: max-age=9600。
  • 使用Call.cancel()可以立即停止掉一个正在执行的call。如果一个线程正在写请求或者读响应,将会引发IOException。当call没有必要的时候,使用这个api可以节约网络资源。例如当用户离开一个应用时。
  • 不管同步还是异步的call都可以取消。
  • 可以通过tags来同时取消多个请求。当你构建一请求时,使用RequestBuilder.tag(tag)来分配一个标签。之后你就可以用OkHttpClient.cancel(tag)来取消所有带有这个tag的call。

未完待续~